// -*- coding: utf-8 -*- 
/**
 * Project: AlgorithmsLearn
 * Creator: yanking
 * Create time: 2022-02-27 14:57
 * IDE: IntelliJ IDEA
 * Introduction:
 */
package com.LeetCodeT.Greedy;

public class IfJump {
    // 优化贪心算法判断能够到达数组最后一个节点
    public boolean canJump(int[] nums) {
        int maxPosition = 0;
        int end = 0;
        for (int i = 0; i < nums.length - 1; i++) {
            maxPosition = Math.max(maxPosition, nums[i] + i); // 或得局部区域中的最大值
            if (i == end) {
                if (end == maxPosition) return false; // 无法到达更远的地方
                end = maxPosition;
            }
        }
        return true;
    }
}
